package com.bookhouse.dao;

import java.util.List;
import java.io.Serializable;
import java.util.Set;

public interface BaseDao<T> {
    T get(Class<T> entityClazz, Serializable id);

    Serializable save(T entity);

    void update(T entity);

    void delete(T entity);

    void delete(Class<T> entityClazz, Serializable id);

    List<T> findAllList(Class<T> entityClazz);

    Set<T> findAllSet(Class<T> entityClazz);

    long findCount(Class<T> entityClazz);

    List<T> find(String sql);

}
